import java.util.concurrent.Callable;


public class MyAnonymousClass {

	
	public static void main(String[] args) throws Exception {
		
		User user = new User("Info about user");
		System.out.println(user.getInfo());
		
		User user2 = new User("Info about user2") {
			@Override
			public String getInfo() {
				return "Special value";
			}
		};
		
		System.out.println(user2.getInfo());
		System.out.println(user.call());
		
		Callable<String> callable = new Callable<String>() {
			
			@Override
			public String call() throws Exception {
				return "Messgae";
			}
		};	
		
		System.out.println(callable.call());
	} 
}
